﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BO;

namespace Site_CamaraTibau
{
    public partial class Agenda : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsPostBack)
                {
                    Listar(ddlAgendaMes);
                    
                    DateTime hoje = new DateTime();
                    hoje = DateTime.Now;
                    ddlAgendaMes.SelectedValue = hoje.Month.ToString();
                    pesquisar();
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
        public class tempAgenda
        {
            public string Titulo { get; set; }
            public string Data { get; set; }
            public string Local { get; set; }
            public string Propositor { get; set; }
            public string Hora { get; set; }
        }
        #region Funcoes

        static DropDownList Listar(DropDownList ddl)
        {
            try
            {
                ddl.Items.Insert(0, new ListItem("JANEIRO","01"));
                ddl.Items.Insert(1, new ListItem("FEVEREIRO","02"));
                ddl.Items.Insert(2, new ListItem("MARÇO","03"));
                ddl.Items.Insert(3, new ListItem("ABRIL","04"));
                ddl.Items.Insert(4, new ListItem("MAIO","05"));
                ddl.Items.Insert(5, new ListItem("JUNHO","06"));
                ddl.Items.Insert(6, new ListItem("JULHO","07"));
                ddl.Items.Insert(7, new ListItem("AGOSTO","08"));
                ddl.Items.Insert(8, new ListItem("SETEMBRO","09"));
                ddl.Items.Insert(9, new ListItem("OUTUBRO","10"));
                ddl.Items.Insert(10, new ListItem("NOVEMBRO","11"));
                ddl.Items.Insert(11, new ListItem("DEZEMBRO","12"));
                ddl.DataBind();
                return ddl; 
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
        }

        public void pesquisar()
        {
            try
            {
                var bco = new ModeloContainer();
                int dataTeste = int.Parse(ddlAgendaMes.SelectedItem.Value);
                var objs = (from a in bco.SessaoPlenarias where a.dtAbertura.Month == dataTeste select a).ToList();

                List<tempAgenda> Agenda = new List<tempAgenda>();

                foreach(var item in objs)
                {
                    tempAgenda Agen = new tempAgenda();
                    Agen.Titulo = item.Titulo;
                    Agen.Data = item.dtAbertura.ToShortDateString();
                    Agen.Local = item.Local;
                    Agen.Hora = item.dtAbertura.Hour.ToString();

                    var propositores = (from a in bco.SessaoPropositors where a.idSessaoPlenaria == item.idSessaoPlenaria select a).ToList();

                    if (propositores != null)
                    {
                        for (int i = 0; i < propositores.Count; i++)
                        {
                            if (propositores[i].idEntidade == 5)
                            {
                                Agen.Propositor += propositores[i].Comisso.Titulo;
                            }
                            else if (propositores[i].idEntidade == 1)
                            {
                                Agen.Propositor += propositores[i].Entidade.Descricao + " " + propositores[i].Vereador.nome + " (" + propositores[1].Vereador.Partido.descricao + ")";
                            }
                            else
                                Agen.Propositor += propositores[i].Entidade.Descricao;

                            if (i == propositores.Count - 2)
                                Agen.Propositor += " e ";
                            else if (i == propositores.Count - 1)
                                Agen.Propositor += "";
                            else
                                Agen.Propositor += ", ";
                        }
                    }
                    else
                        Agen.Propositor = "Câmara Municipal";
                    Agenda.Add(Agen);
                }

                if (objs.Count > 0)
                {
                    rptSessao.DataSource = Agenda;
                    rptSessao.DataBind();
                }
            }
            catch (Exception)
            {
                throw;
            }

        }
        #endregion

        protected void ddlAgendaMes_SelectedIndexChanged(object sender, EventArgs e)
        {
            pesquisar();
        }
    }
}